﻿// Copyright: personal possession of Nguyen Minh Kha
// Datetime: 09:26PM 10/14/2011
// Discription: This class is a common interface for 
//   all collisionable object in game.
// Licencse: Free source
// Version: 1.0
// Writer: Nguyen Minh Kha

/* Google opensource coding standard with variable name exception */

#ifndef GAMEFRAMEWORK_COLLISIONABLEOBJECT_H_
#define GAMEFRAMEWORK_COLLISIONABLEOBJECT_H_

class CollisionableObject {
public:
  //
  //  Call object collision.
  //  collisionedObject: object that get collision with the calling object
  virtual void DoCollision(CollisionableObject* collisionedObject) = 0;
  // Doing collision thread
  virtual void DoCollisionThread() = 0;
  // Get collision type from collisionable object
  int getCollisionType() {return this->collisionType;}
protected:
  int collisionType;

};

#endif //GAMEFRAMEWORK_COLLISIONABLEOBJECT_H_